1. Field
The present disclosure relates generally to the exchange of information between disparate information technology systems and, in particular, to providing a web service for applications with unlike data structures, storage requirements, and user interface media to interoperate and share data in a protected user workspace.
2. Background
In many large organizations, heavily accessed applications may originate from a variety of sources including commercial off-the-shelf (COTS), proprietary applications created for specific functions within the organization, and applications written in-house that may be little more than ad hoc software utilities. Such applications may be accessed in conjunction with information about numerous products in a product line, such as, for example, a line of commercial jet aircraft. Applications may evolve over time with their code bases and interfaces changing with each successive release and patch update. Customized software applications, originally created as in-house utilities to address specific problems, may begin as simple tools and grow in popularity while taking on further functionality and complexity over time. Such customized applications that are used exclusively in-house may not be subject to the level of quality control and version control procedures ordinarily used if released commercially or otherwise provided to external customers or partners.
An engineer may use a web browser to access a commercial off-the-shelf application and, at the same time, may use more traditional desktop client software to access a server-based application via traditional client desktop software. The engineer may wish to exchange data between the two disparate applications as well as import data from other and different applications. The exchange and management of technical and product information between software systems is a continuing challenge in engineering, product development, and other professional environments. Data used in these computing environments may be captured in many disparate systems, each with its own data model, data format, storage structure, configuration controls, and unique interface requirements. Information from one system or tool may not be readily transportable to another. Data may have to be translated several times between different users. Data may need to be reorganized or modified by a user before being made available to an application.
When attempting to manage data between disparate applications and tools, sending notifications of changes to only interested parties while bypassing disinterested may present challenges. Additional challenges may be presented by the need to launch dependent applications and independent workspaces, as well as the need to relate product specific assets to general assets of product lines. When multiple product data is managed in a single product line information management system, challenges may also be presented by functional areas using different representations, interfaces, configuration controls, and tools.
Challenges of disparate data integration may be further complicated by the dynamic nature of technical information and the continuous need to change, add, or otherwise disturb the structure of information. Because of the dynamic nature of this information, some integrations may become stagnant and unused within a short time. Further, challenges may arise for configuration management in traditional systems that rely on explicit schemas or interactive management of each element of a set. Accordingly, it would be advantageous to have a method and apparatus which takes into account one or more of the issues discussed above as well as possibly other issues.